package collectionsDemo;


import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class ListTestDriver {
    public static void main(String[] args) {
            test02();
    }

    /**
     * List接口实现类：LinkedList
     */
    private static void test02(){
        //创建一个List集合对象
        //多态：父类指代子类
        //面向接口编程思想
        List lis0=new LinkedList();
        lis0.add("zhangsan");
        lis0.add("lisi");
        lis0.add("lisi");
        lis0.add("wangwu");
        lis0.add(null);

        System.out.println("标准for循环方式遍历：");
        //输出元素
        for (int i = 0; i <lis0.size() ; i++) {
            System.out.println("   "+lis0.get(i));
        }

        System.out.println("使用增强型for循环方式遍历：");
        for (Object obj:lis0) {
            System.out.println("  "+obj);
        }

        System.out.println("迭代器方式遍历：");
        Iterator it=lis0.iterator();
        //循环遍历
        while (it.hasNext()){
            //取出下一元素
            Object obj= it.next();
            //输出
            System.out.println("  "+obj);
        }


    }

    /**
     * List接口实现类：ArrayList
     */
    private static void test01(){
        //创建一个List集合对象
        //多态：父类指代子类
        //面向接口编程思想
        List lis0=new ArrayList();
        lis0.add("zhangsan");
        lis0.add("lisi");
        lis0.add("lisi");
        lis0.add("wangwu");
        lis0.add(null);

        System.out.println("标准for循环方式遍历：");
        //输出元素
        for (int i = 0; i <lis0.size() ; i++) {
            System.out.println("   "+lis0.get(i));
        }

        System.out.println("使用增强型for循环方式遍历：");
        for (Object obj:lis0) {
            System.out.println("  "+obj);
        }

        System.out.println("迭代器方式遍历：");
        Iterator it=lis0.iterator();
        //循环遍历
        while (it.hasNext()){
            //取出下一元素
           Object obj= it.next();
           //输出
            System.out.println("  "+obj);
        }


    }
}
